{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 Physical GPUs, 2 Logical GPUs\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "import graphgallery \n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "# Set if memory growth should be enabled for ALL `PhysicalDevice`.\n",
    "graphgallery.set_memory_growth()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2.1.0'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.4.0'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graphgallery.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load the Datasets\n",
    "+ cora\n",
    "+ citeseer\n",
    "+ pubmed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloaded dataset files have existed.\n",
      "Processing...\n",
      "Processing completed.\n"
     ]
    }
   ],
   "source": [
    "from graphgallery.data import Planetoid\n",
    "\n",
    "# set `verbose=False` to avoid these printed tables\n",
    "data = Planetoid('cora', root=\"~/GraphData/datasets/\", verbose=False)\n",
    "graph = data.graph\n",
    "idx_train, idx_val, idx_test = data.split()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'citeseer', 'cora', 'pubmed'}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.supported_datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test accuracy 72.00%\n",
      "CPU times: user 21.1 s, sys: 223 ms, total: 21.3 s\n",
      "Wall time: 16 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "from graphgallery.nn.models import Node2vec\n",
    "model = Node2vec(graph)\n",
    "model.build()\n",
    "model.train(idx_train)\n",
    "accuracy = model.test(idx_test)\n",
    "print(f'Test accuracy {accuracy:.2%}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "embeddings = model.embeddings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.manifold import TSNE\n",
    "X_embedded = TSNE(n_components=2).fit_transform(embeddings)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/jtli/anaconda3/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py:211: RuntimeWarning: Glyph 8722 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "/home/jtli/anaconda3/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py:180: RuntimeWarning: Glyph 8722 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 252x189 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "with plt.style.context(['science', 'no-latex']):\n",
    "    plt.scatter(X_embedded[:,0], X_embedded[:,1], c=graph.labels, cmap=plt.cm.Spectral)\n",
    "    plt.autoscale(tight=True)\n",
    "    plt.show()    "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
